﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lista_dwukierunkowa
{
    class Program
    {
        static void Main(string[] args)
        {
            DoubleLinkedList dll = new DoubleLinkedList();

            Console.WriteLine("Dodanie kolejnych elementów kolejki");
            dll.addElement(1);
            dll.addElement(2);
            dll.addElement(3);
            wyswietlKolejke(dll);

            Console.WriteLine("Wyswietlanie całej kolejki");
            wyswietlKolejke(dll);

            Console.WriteLine("Element o indeksie 2");
            dll.displayElement(2);
            wyswietlKolejke(dll);

            Console.WriteLine("Zamien elementy miejscami");
            dll.zamienMiejscami();
            wyswietlKolejke(dll);

            Console.WriteLine("Sortowanie kolejki");
            dll.sortuj();
            wyswietlKolejke(dll);

            Console.WriteLine("Czy znajduje sie w kolejce liczba 2?");
            bool wynik = dll.czyIstnieje(2);
            Console.WriteLine(wynik);
            wyswietlKolejke(dll);

            Console.WriteLine("Usuniecie elementu o indeksie 1");
            dll.usunElement(1);
            wyswietlKolejke(dll);

            Console.WriteLine("Wprowadz element ktory zostanie dodany do kolejki");
            int n = int.Parse(Console.ReadLine());
            dll.addElement(n);
            wyswietlKolejke(dll);
            dll.removeLast();
            
            Console.WriteLine("\nNacisnij dowolny klawiszm, aby zakonczyc...");
            Console.ReadKey();
        }

        public static void wyswietlKolejke(DoubleLinkedList dll)
        {
            Console.WriteLine("Kolejka wyglada teraz tak:");
            dll.displayElements();
        }
    }
      
}
